import { RouteRecordRaw } from "vue-router";

//侧边栏路由数据
export const routerList: RouteRecordRaw[] = [
  // 首页
  {
    path: "/index",
    component: () => import("@/components/layout/index.vue"),
    redirect: "/home",
    children: [
      {
        path: "/home",
        component: () => import("@/Views/index/Home.vue"),
        meta: {
          requiresAuth: false,
          icon: "HomeFilled",
          name: "首页",
          title: "首页",
          visual: true,
        },
      },
    ],
  },
  // 基础组件
  {
    path: "/basic",
    component: () => import("@/components/layout/index.vue"),
    meta: {
      requiresAuth: false,
      icon: "Histogram",
      name: "基础组件",
      title: "基础组件",
      visual: true,
    },
    redirect: "/basic/btn",
    children: [
      {
        path: "/basic/btn",
        component: () => import("@/Views/basic/button.vue"),
        meta: {
          requiresAuth: false,
          icon: "Pointer",
          name: "按钮",
          title: "按钮",
          visual: true,
        },
      },
      {
        path: "/basic/border",
        component: () => import("@/Views/basic/border.vue"),
        meta: {
          requiresAuth: false,
          icon: "List",
          name: "边框",
          title: "边框",
          visual: true,
        },
      },
      {
        path: "/basic/container",
        component: () => import("@/Views/basic/container.vue"),
        meta: {
          requiresAuth: false,
          icon: "List",
          name: "布局容器",
          title: "布局容器",
          visual: true,
        },
      },
      {
        path: "/basic/icon",
        component: () => import("@/Views/basic/icon.vue"),
        meta: {
          requiresAuth: false,
          icon: "List",
          name: "图标",
          title: "图标",
          visual: true,
        },
      },
    ],
  },
  // 表单
  {
    path: "/form",
    component: () => import("@/components/layout/index.vue"),
    redirect: "/form/autocomplete ",
    meta: {
      name: "表单组件",
      icon: "List",
      visual: true,
      requiresAuth: false,
    },
    children: [
      {
        path: "/form/autocomplete",
        component: () => import("@/Views/form/autocomplete.vue"),
        meta: {
          name: "自动补全输入框",
          icon: "List",
          title: "自动补全输入框",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/form/cascader",
        component: () => import("@/Views/form/cascader.vue"),
        meta: {
          name: "级联选择器",
          icon: "Sunset",
          title: "级联选择器",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/form/checkbox",
        component: () => import("@/Views/form/checkbox.vue"),
        meta: {
          name: "多选框",
          icon: "EditPen",
          title: "多选框",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/form/form",
        component: () => import("@/Views/form/form.vue"),
        meta: {
          name: "表单",
          icon: "EditPen",
          title: "表单",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/form/upload",
        component: () => import("@/Views/form/upload.vue"),
        meta: {
          name: "上传",
          icon: "Upload",
          title: "上传",
          visual: true,
          requiresAuth: false,
        },
      },
    ],
  },
  // 数据展示
  {
    path: "/data",
    component: () => import("@/components/layout/index.vue"),
    redirect: "/data/pagination",
    meta: {
      name: "数据展示",
      icon: "Filter",
      visual: true,
      requiresAuth: false,
    },
    children: [
      {
        path: "/data/pagination",
        component: () => import("@/Views/data/pagination.vue"),
        meta: {
          name: "分页",
          icon: "List",
          title: "分页",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/data/table",
        component: () => import("@/Views/data/table.vue"),
        meta: {
          name: "表格",
          icon: "Soccer",
          title: "表格",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/data/vtable",
        component: () => import("@/Views/data/vtable.vue"),
        meta: {
          name: "虚拟表格",
          icon: "Aim",
          title: "虚拟表格",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/data/asyncComp",
        component: () => import("@/Views/data/asyncComponent.vue"),
        meta: {
          name: "异步加载组件",
          icon: "Aim",
          title: "异步加载组件",
          visual: true,
          requiresAuth: false,
        },
      },
      {
         path:"/data/dragCheckBox",
         component: () => import("@/Views/data/drag.vue"),
         meta: {
           name: "拖拽组件",
           icon: "Aim",
           title: "拖拽组件",
           visual: true,
           requiresAuth: false,
         },
      }
    ],
  },
  //导航
  {
    path: "/navigation ",
    component: () => import("@/components/layout/index.vue"),
    redirect: "/navigation/steps",
    meta: {
      name: "导航",
      icon: "Filter",
      visual: true,
      requiresAuth: false,
    },
    children:[
      {
        path: "/navigation/steps",
        component: () => import("@/Views/navigation/steps.vue"),
        meta: {
          name: "步骤条",
          icon: "Avatar",
          title: "步骤条",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/navigation/tabs",
        component: () => import("@/Views/navigation/tabs.vue"),
        meta: {
          name: "标签页",
          icon: "Avatar",
          title: "标签页",
          visual: true,
          requiresAuth: false,
        },
      },
    ]
  },
  //反馈组件
  {
    path: "/feedback ",
    component: () => import("@/components/layout/index.vue"),
    redirect: "/feedback/alter",
    meta: {
      name: "反馈组件",
      icon: "Filter",
      visual: true,
      requiresAuth: false,
    },
    children:[
      {
        path: "/feedback/alter",
        component: () => import("@/Views/feedback/alter.vue"),
        meta: {
          name: "提示",
          icon: "Avatar",
          title: "提示",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/feedback/dialog",
        component: () => import("@/Views/feedback/dialog.vue"),
        meta: {
          name: "对话框",
          icon: "Avatar",
          title: "对话框",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/feedback/drawer",
        component: () => import("@/Views/feedback/drawer.vue"),
        meta: {
          name: "抽屉",
          icon: "Avatar",
          title: "抽屉",
          visual: true,
          requiresAuth: false,
        },
      },
    ]
  },
  // 系统设置
  {
    path: "/setting",
    component: () => import("@/components/layout/index.vue"),
    redirect: "/setting/auth",
    meta: {
      icon: "Tools",
      visual: true,
      name: "系统设置",
      requiresAuth: false,
    },
    children: [
      {
        path: "/setting/auth",
        component: () => import("@/Views/basic/button.vue"),
        meta: {
          name: "权限管理",
          icon: "Avatar",
          title: "CGYM权限设置",
          visual: true,
          requiresAuth: false,
        },
      },
      {
        path: "/setting/role",
        component: () => import("@/Views/basic/border.vue"),
        meta: {
          name: "角色权限",
          icon: "HelpFilled",
          title: "CGYM系统设置",
          visual: true,
          requiresAuth: false,
        },
      },
    ],
  },
];
